package com.yjj.springboot3.ai.config;//package com.bishe.note.ai.config;
//
//import org.springframework.ai.transformer.splitter.TextSplitter;
//
//import java.util.Arrays;
//import java.util.List;
//import java.util.regex.Pattern;
//
//public class QjcTextSplitter extends TextSplitter {
//    // 增强版正则表达式：匹配至少两个连续换行符（兼容不同操作系统）
//    private static final Pattern SPLIT_PATTERN = Pattern.compile("(\\R\\s*){2,}");
//
//    // 段落最小长度校验（避免空段落）
//    private static final int MIN_PARAGRAPH_LENGTH = 10;
//
//    @Override
//    protected List<String> splitText(String text) {
//        // 预处理：统一换行符格式
//        String normalizedText = normalizeLineEndings(text);
//
//        // 执行分割并过滤无效段落
//        return Arrays.stream(split(normalizedText))
//                .filter(para -> para.length() >= MIN_PARAGRAPH_LENGTH)
//                .map(String::trim)
//                .toList();
//    }
//
//    public String[] split(String text) {
//        return SPLIT_PATTERN.split(text);
//    }
//    private String normalizeLineEndings(String text) {
//        return text.replaceAll("(\\r\\n|\\r)", "\n")  // 统一换行符
//                .replaceAll("\\n{3,}", "\n\n");     // 合并连续空行
//    }
//}